package singleton;

/**
 * 静态内部类
 * 1. 私有构造方法
 * 2. 私有静态内部类，类内保存外部静态成员变量
 * 3. 外部类提供静态方法获取内部成员，并且方法final
 * 属于懒汉式，仅内部类被加载时才会初始化
 */
public class Singleton07 {

    private Singleton07(){}

    private static class SingletonHolder{
        private static final Singleton07 INSTANCE = new Singleton07();
    }

    public static final Singleton07 getInstance(){
        return SingletonHolder.INSTANCE;
    }

}
